from numpy import *
import operator

def createDateSet():
    group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])
    labels = ['A','A','B','B']
    return group, labels


# def classify0(inX, dataSet, labels, k):
#     dataSetSize = dataSet.shape[0]
#     diffMat = tile(inX, (dataSetSize,1)) - dataSet
#     sqDiffMat = diffMat ** 2
#     sqDistances = sqDiffMat.sum(axis=1)
#     distances = sqDistances ** 0.5
#     sortedDistIndicies = distances.argsort()
#     classCount={}
#     for i in range(k)
#         voteIlabel = labels[sortedDistIndicies[i]]
#         classCount[voteIlabel] = classCount.get(voteIlabel,0) + 1
#     sortedClassCount = sorted(classCount.iteritems(),key=operator.itemgetter(1),reverse=True)
#     return sortedClassCount[0][0]



groups,labels = createDateSet()
# print(groups)
# print(labels)
# print(groups.shape[0])
mat22 = tile([2,2], (4,1))
difMat = mat22 - groups
sqDiffMat = difMat ** 2
sqDistances = sqDiffMat.sum(axis=1)
distances = sqDistances ** 0.5
print(distances)
sortedDistIndicies = distances.argsort()
print(sortedDistIndicies)
classCount={}
for i in range(3):
    print(sortedDistIndicies[i])
    voteIlabel=labels[sortedDistIndicies[i]]
    print(voteIlabel)
#     classCount[voteIlabel] = classCount.get(voteIlabel,0) + 1
print(classCount)







